/*Luis Jose Pinillos 12523, Jose Roberto Ruano 12101, Pablo Chavac 12331
Creado el 6 de julio del 2013
Este codigo define el main Carro que utilizara el radio Bose que se definio*/

package carro;
import java.util.Scanner;
/**
 *
 * @author Luis José
 */
public class Carro {
     static boolean estado = false;
    static int amfm = 0;
    static float estacion = 0;
	static String descripcion ="";
    public static void main(String[] args) 
    {
    try{
        int opc = 0;
        int opc2 = 0;
        boolean valido = false;
        
        Scanner scan = new Scanner (System.in);
        Radio radio1 = new RadioBose();
        

        while (opc != 6)
        {
            System.out.println ("RADIO \n");
            System.out.println ("1. Prender/Encender la radio.");
            System.out.println ("2. Cambiar entre AM y FM");
            System.out.println ("3. Avanzar de emisora.");
            System.out.println ("4. Guardar emisora en botones de acceso rapido.");
            System.out.println ("5. Botones de acceso rapido.");
            System.out.println ("6. Salir. \n");
            System.out.print ("Ingrese el numero de la opcion a realizar: ");
            opc = scan.nextInt();

            switch (opc)
            {
                case 1:
                   System.out.println("DESEA PRENDER LA RADIO PRESIONE 1");
                   System.out.println("DESEA APAGAR LA RADIO PRESIONE 2");
                   opc2 = scan.nextInt();
                   if(opc2 == 1){
                       radio1.setEstado(true);
                   }
                   else if(opc2 ==2){
                       radio1.setEstado(false);
                   }
                   else{
                       System.out.println("INGRESE UNA OPCION VALIDA");
                   }
                   estado = radio1.getEstado();
                   amfm = radio1.getAMFM();
                   estacion = radio1.getEmisora();
                   descripcion = imprimir(estado, amfm, estacion);
				   System.out.println(descripcion);
                    break;
                case 2:
                   valido = radio1.getEstado();
                    if (valido == true){
                        System.out.println("DESEA RADIO AM PRESIONE 0");
                        System.out.println("DESEA RADIO FM PRESIONE 1");
                        opc2 = scan.nextInt();
                        if (opc2==0 || opc2 == 1){
                            radio1.setAMFM(opc2);
                        }
                        else{
                            System.out.println("ELIJA UNA OPCION VALIDA");
                        }
                   }
                   else{
                       System.out.println("PRIMERO DEBE ENCENDER LA RADIO");
                   }
                   estado = radio1.getEstado();
                   amfm = radio1.getAMFM();
                   estacion = radio1.getEmisora();
                   descripcion = imprimir(estado, amfm, estacion);
				   System.out.println(descripcion);
                   break;
                case 3:
                    valido = radio1.getEstado();
                    if (valido == true){
                        System.out.println("DESEA SUBIR PRESIONE 1");
                        System.out.println("DESEA BAJAR PRESIONE 2");
                        opc2 = scan.nextInt();
                        if(opc2 == 1){
                            radio1.sintonizar(true);
                        }
                        else if (opc2 ==2){
                            radio1.sintonizar(false);
                        }
                        else{
                            System.out.println("ELIJA UNA OPCION VALIDA");
                        }
                    
                    }
                     
                   
                   else{
                       System.out.println("PRIMERO DEBE ENCENDER LA RADIO");
                   }
                   estado = radio1.getEstado();
                   amfm = radio1.getAMFM();
                   estacion = radio1.getEmisora();
                   descripcion = imprimir(estado, amfm, estacion);
				   System.out.println(descripcion);
                   break;
                case 4:
                   valido = radio1.getEstado();
                   if(valido == true){
                        System.out.println("INGRESE EL NUMERO DE BOTON AL QUE DESEE ASIGNAR LA ESTCION ACTUAL");
                        System.out.println("RECUERDE QUE UNICAMENTE POSEE 12 BOTONES");
                        opc2 = scan.nextInt();
                        if(opc2>=1 && opc2<=12){
                            
                           
                            radio1.guardar(opc2);
                            System.out.println("LA ESTACION HA SIDO GUARDADA");
                        }
                        else{
                            System.out.println("INGRESE UN BOTON EXISTENTE");
                        }
                   }
                   
                   else{
                       System.out.println("PRIMERO DEBE ENCENDER LA RADIO");
                   }
                   break;
                case 5:
                   valido = radio1.getEstado();
                   if(valido == true){
                       System.out.println("INGRESE EL NUMERO DE BOTON QUE DESEA OPRIMIR");
                       System.out.println("RECUERDE QUE UNICAMENTE POSEE 12 BOTONES");
                       opc2 = scan.nextInt();
                       if(opc2>=1 && opc2<=12){
                            radio1.memoria(opc2);
                            
                        }
                        else{
                            System.out.println("INGRESE UN BOTON EXISTENTE");
                        }
                   }
                   
                   else{
                       System.out.println("PRIMERO DEBE ENCENDER LA RADIO");
                   }
                   estado = radio1.getEstado();
                   amfm = radio1.getAMFM();
                   estacion = radio1.getEmisora();
                   descripcion = imprimir(estado, amfm, estacion);
				   System.out.println(descripcion);
                   break;
                   
            }
            if (opc > 6 || opc < 1)
                System.out.println ("\n Ha ingresado un numero incorrecto.\n");
        }
        
    }
    
    catch(Exception id){
        System.out.println("Ha ingresado un dato incorrecto");
    }
        
        
    }
    public static String imprimir(boolean estado, int amfm, float estacion){
        String resultado = "";
        if(estado == true){
        resultado += "RADIO BOSE \n";
            if(amfm == 0){
                resultado += "ESTA ESCUCHANDO FRECUENCIA AM \n";
                resultado += "ESTACION ACTUAL:"+ estacion;
            }
            else if(amfm == 1){
                resultado += "ESTA ESCUCHANDO FRECUENCIA FM \n";
                resultado += "ESTACION ACTUAL:"+ estacion;
            }
        }
        
        return resultado;
    }
}
